﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace DoveSiButta.Helpers
{
    public class GarbageType
    {
        public string Chiave { get; set; }
        public string Valore { get; set; }
    }

    public class GarbageTypes
    {
        static readonly IDictionary<string, string> GarbageTypesDict = new Dictionary<string, string>{
            {"1", "Plastica"},
            {"2", "Vetro"},
            {"3", "Alluminio"},
            {"4", "Generico"},
            {"5", "Umido"},
            {"6", "Batterie"},
            {"7", "Farmaci"},
            {"8", "Ingombranti"},
            {"9", "Carta"},
            {"10", "Toner/Cartucce Stampanti"},
            {"11", "Abiti Usati"},
            {"12", "Lampadine"}

        };

        static readonly List<GarbageType> GarbageTypesList = new List<GarbageType>{
            new GarbageType{Chiave = "1", Valore = "Plastica"},
            new GarbageType{Chiave = "2",Valore =  "Vetro"},
            new GarbageType{Chiave ="3", Valore = "Alluminio"},
            new GarbageType{Chiave ="4", Valore = "Generico"},
            new GarbageType{Chiave ="5", Valore = "Umido"},
            new GarbageType{Chiave ="6", Valore = "Batterie"},
            new GarbageType{Chiave ="7", Valore = "Farmaci"},
            new GarbageType{Chiave ="8", Valore = "Ingombranti"},
            new GarbageType{Chiave ="9", Valore = "Carta"},
            new GarbageType{Chiave ="10", Valore = "Toner/Cartucce Stampanti"},
            new GarbageType{Chiave = "11", Valore = "Abiti Usati"},
            new GarbageType{Chiave = "12", Valore = "Lampadine"}

        };

        

        public static IEnumerable<string> GarbageTypesNames
        {
            get
            {
                return GarbageTypesDict.Values;
            }
        }

        public static IEnumerable<GarbageType> GarbageTypesKeyValueList
        {
            get
            {
                return GarbageTypesList;
            }
        }
        
        /// <summary>
        /// GetValue(string key) In base all'array di chiavi separato da ; che gli viene passato come parametro
        /// restituisce i corrispettivi valori in una stringa cercando i valore nella dictionary GarbageTypesDict.
        /// </summary>
        /// <param name="key">Array di chiavi.</param>
        /// <returns>Stringa di corrispettivi valori.</returns>
        public static string GetValue(string key)
        {
            string[] values = key.Split(';');
            string value = "";
            for (int i = 0; i < values.Length; i++)
            {
                if((values[i].ToString()!="") && (values[i].ToString()!=" "))
                    value += GarbageTypesDict[values[i].ToString()] + " ";
            }
            return value;
        }
    }

    
}